from random import randint
from tkinter import *
from tkinter import ttk


def click_button():
    '''
    Функция-обработчик события нажатия на кнопку. По клику считывает число
    из поля ввода и сравнивает с загаданным числом.
    :return: строку с результатом проверки введенного числа
    '''
    global answer_lb, step
    num = user_num.get()
    # print(num, type(num), len(num), int(num))
    if int(num) > int(secret_num) and step > 0:
        answer_lb["text"] = f"{num} больше Х\n"
        step -= 1
        step_lb["text"] = f"Осталось попыток: {step}\n"
    elif int(num) < int(secret_num) and step > 0:
        answer_lb["text"] = f"{num} меньше Х\n"
        step -= 1
        step_lb["text"] = f"Осталось попыток: {step}\n"
    else:
        step_lb["text"] = f"Осталось попыток: {step}\n"
        answer_lb["text"] = " Угадал!"
        answer_lb["foreground"] = 'green'
        answer_lb["font"] = ("Arial", 16)
    if step == 0:
        step_lb["text"] = f"Осталось попыток: {step}\n"
        answer_lb["text"] = "Проиграл! Было загадано число " + secret_num
        answer_lb["foreground"] = 'red'
        answer_lb["font"] = ("Arial", 16)


wn = Tk()
wn.title("Угадайка")
wn.geometry('400x300')

step = 7
secret_num = str(randint(1, 128))
height_lb = Label(wn, text="Угадай число от 1 до 128 \nне более, чем за 7 попыток!\n", font=("Arial", 14), foreground='darkblue')
height_lb.pack()

step_lb = Label(wn, text=f"Осталось попыток: {step}\n", font=("Arial", 12), foreground='blue')
step_lb.pack()

user_num = ttk.Spinbox(from_=1, to=128)
user_num.pack()

answer_lb = Label(text="", font=("Arial", 12), foreground='darkred')
answer_lb.pack()

btn = ttk.Button(text="Проверить", command=click_button)
btn.pack()

wn.mainloop()
